home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / basic / imb9010.zip / SB3.BAS
BASIC Source File  |  1990-10-03  |  2KB  |  68 lines

  1. 'PROGRAM - SRCHBLNK.BAS
  2.  
  3. '****************************************************************
  4. '** Purpose - This program demonstrates how to search for blank *
  5. '**           fields                                            *
  6. '****************************************************************
  7.  
  8.   CLS
  9.  
  10. '******************  Setup ISAM file  **************************
  11.  
  12.   TYPE SampleRecord
  13.     Field1  AS STRING * 20
  14.     Field2  AS STRING * 20
  15.   END TYPE
  16.  
  17.   DIM SR AS SampleRecord    'Record variable to move data
  18.                             '  in and out of file
  19.  
  20.   OPEN "TestFile.MDB" FOR ISAM SampleRecord "Table1" AS #1
  21.  
  22.   CREATEINDEX #1, "FIELD1INDEX", 0, "Field1"
  23.   SETINDEX #1, "FIELD1INDEX"               'Set the active index
  24.  
  25. '*******************  Add records to file **********************
  26.  
  27.   RANDOMIZE TIMER
  28.   PRINT "Creating records": PRINT
  29.   FOR I = 1 TO 100
  30.     R$ = "REC" + STR$(I)
  31.  
  32.     IF INT(20 * RND) = 10 THEN
  33.       SR.Field1 = ""
  34.       PRINT "Blank field record "; I
  35.     ELSE
  36.       SR.Field1 = R$ + " Field1 "
  37.     END IF
  38.  
  39.     IF TEXTCOMP(SR.Field1, "") = 0 THEN SR.Field1 = "~"
  40.  
  41.     SR.Field2 = R$ + " Field2 "
  42.     INSERT #1, SR
  43.   NEXT I
  44.  
  45. '******************  Scan for blank Field1  ********************
  46.  
  47.   MOVEFIRST #1                         'Set initial file postion
  48.   PRINT : PRINT "Searching for blank fields": PRINT
  49.  
  50.   SEEKEQ #1, "~"                        '
  51.   DO
  52.     RETRIEVE #1, SR
  53.     IF TEXTCOMP(SR.Field1, "~") = 0 THEN
  54.       PRINT "Found it "; SR.Field1; SR.Field2
  55.     ELSE
  56.       EXIT DO
  57.     END IF
  58.     MOVENEXT #1
  59.   LOOP
  60.  
  61.   PRINT
  62.   PRINT "End of file reached.  Terminating program."
  63.  
  64.   CLOSE 1
  65.   KILL "TESTFILE.MDB"
  66.   END
  67.  
  68.